iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Modern Web

Node.js系列 第 8

DAY 8 Node.js 函數

  • 分享至 

  • xImage
  •  

DAY 8 Node.js 函數

{%hackmd BJrTq20hE %}

tags: 第 14 屆 iThome 鐵人賽 (2022)

函數

ES6中的函數增加了很多新特性,使JavaScript 中程式設計不容易出錯,而且比以往更加強大。ES6的函數主要帶來了以下擴充:參數的預設值、rest參數、解構參數、擴充(spread)運算子、name屬性、箭頭函數等。

函數宣告

function Point(x=0,y=0){
    this.x = x;
    this.y = y;
}
var p = new Point();
p // {x:0,y:0}

ES6的寫法有兩個好處:首先,閱讀程式的人可以立即意識到那些參數是可以沈略的,不用檢視函數本體或文件;這將有利於將來程式最佳化,其次,即使未來的版本在對外界面中測底拿掉這個參數,也部會導致以前的程式無法執行。

參數變數是預設宣告的,要記得不能用let或const再次宣告

function foo(x=5){
    let x = 1;  //error
    const x = 2; //error
}

箭頭函數

箭頭函數能夠簡化程式並增加可讀性,對於之後很多的套件箭頭函數都是必要的存在。
其基本語法是:

參數 => 資料本體
var f = v =>v;
//相等於
var f = function(a){
    return a;
}
f(1); //1

需要注意的是,箭頭函數內部沒有 this、super、argument和new target的參考

var func = () =>{
    //箭頭函數裡面沒有this 物件
    //此時的this 是外層的this 物件,即Window
    console.log(this)
}
func(55) //Window

var func = () =>{
    console.log(arguments)
}
func(55); //Error

上一篇
DAY 7 Node.js 陣列語法
下一篇
DAY 9 NodeJS-Module、Require與Export
系列文
Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言